A stream processing technology is widely applied to real-time processing systems of various fields, for example, a stock and securities trading center, network surveillance, a web application, and communications data management. A common feature of the systems of this type is that data is of strong real-time performance, in an extremely large amount, occurs unexpectedly and continuously, and keeps changing. The stream processing technology needs to monitor continuous data streams in real time, perform data analysis in real time when data keeps changing, and capture information that may be useful for users, so as to quickly respond to an emergency, and perform real-time processing.
At present, a distributed computing manner is mainly used for stream data processing. A distributed stream processing system includes multiple computing nodes, and a processing procedure of stream data may be completed by the multiple computing nodes. After a user submits a stream processing task, the distributed stream processing system allocates stream processing components in the stream processing task to the multiple computing nodes, where the stream processing component includes computing logic of data, so that the multiple computing nodes can perform processing on the stream data according to the computing logic of the stream processing component obtained by means of allocation.
However, when the foregoing distributed stream processing system is used to process stream data, a case often occurs in which a computing resource that is required by a stream processing component distributed on a computing node exceeds a computing resource that can be provided by the computing node, which easily causes system instability and a data processing fault, and therefore, system performance deteriorates.